-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
LV2 Support #316
LV2 Support #316
Conversation
…lso implement getManifest, canInstantiateEffect, and instantiateEffect methods
…their values in each process() call
@@ -13,6 +13,7 @@ | |||
<file>images/preferences/ic_preferences_interface.png</file> | |||
<file>images/preferences/ic_preferences_keydetect.png</file> | |||
<file>images/preferences/ic_preferences_library.png</file> | |||
<file>images/preferences/ic_preferences_lv2.png</file> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The logo has the wrong ratio. It should not be stretched.
Please use the "Simple versions for bright backgrounds" from http://lv2plug.in/logo/
Hi Nico,
|
|
GroupEffectProcessor() { | ||
m_pSampleRate = new ControlObjectSlave("[Master]", "samplerate"); | ||
} | ||
GroupEffectProcessor() { } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I must have missed adding samplerate COs to GroupEffectProcessor (I think it may introduce less coupling between the engine and the effects system if the current samplerate is passed into the initialize() and process() methods) but the delete in the destructor (a few lines down) should be moved into the EffectProcessor destructor.
Nice! |
@@ -186,6 +190,12 @@ void DlgPreferences::createIcons() { | |||
m_pEqButton->setTextAlignment(0, Qt::AlignLeft | Qt::AlignVCenter); | |||
m_pEqButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); | |||
|
|||
m_pLV2Button = new QTreeWidgetItem(contentsTreeWidget, QTreeWidgetItem::Type); | |||
m_pLV2Button->setIcon(0, QIcon(":/images/preferences/ic_preferences_lv2.png")); | |||
m_pLV2Button->setText(0, tr("LV2 plugins")); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Spelling LV2 Plugins
What are the default search locations for installed lv2 plugins? Edit: |
…rences icons & update icon template with LV2 layer.
does this work on all platforms? |
Currently it works on Linux. It should work on OS X (must investigate @esbrandt's issue) and on Windows too, since lilv is cross platform. However, in order to work on Windows, this[1] must be modified to take [1] - https://github.com/badescunicu/mixxx/blob/lv2_support/build/features.py#L1332 |
raise Exception('Missing liblilv-0 (needs at least 0.5)') | ||
|
||
build.env.Append(CPPDEFINES='__LILV__') | ||
build.env.ParseConfig('pkg-config lilv-0 --silence-errors \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks like a tab made it in here
I'll add lilv to our build environment so we can start making builds of this with the build server. |
safe to test? |
skip ci |
This PR adds basic LV2 support to Mixxx. It integrates seamlessly with our current Effects Framework. Just install an LV2 plugin and it will show up when you cycle through the effects.
Currently it is only supporting plugins which handle stereo input/output audio samples and do not require any additional features. Some plugins which were tested by me: Calf Phaser, Calf Flanger, SWH Karaoke.